import Vue from "vue";
import Vuex from "vuex";
//  导入用户模块数据
import userStore from "./modules/user";
// 导入 Vuex 持久化插件
import VuePersistedStatePlugin from "vuex-persistedstate";
//  使用插件的方式
Vue.use(Vuex);

const store = new Vuex.Store({
  state: {
    // 根数据，直接使用 this.$store.state.count 访问
    count: 0,
  },
  modules: {
    //  使用用户模块数据
    //  模块数据要使用 this.$store.state. 模块名. 数据 key  访问
    //  例如：this.$store.state.userStore.nickname
    userStore,
  },

  plugins: [
    VuePersistedStatePlugin({
      //  将数据持久化到 localStorage  本地存储
      storage: window.localStorage,
      reducer(data) {
        return {
          userStore: data.userStore,
        };
      },
    }),
  ],
});
export default store;
